package com.atguigu.gulimall.member.web;

import com.atguigu.common.utils.R;
import com.atguigu.gulimall.member.feign.OrderFeignService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.HashMap;

@Controller
public class MemberWebController {

    @Autowired
    OrderFeignService orderFeignService;

    /**
     * 支付宝同步调用
     * 只是告诉你调用成功了，不是扣款成功，这叫同步调用。
     * 通知回调的地址与当前服务器的地址一致 才会在回调时保留原有的cookie和请求头信息
     * @param pageNum
     * @param model
     * @return
     */
    @GetMapping("/memberOrder.html")
    public String memberOrderPage(@RequestParam(value = "pageNum",defaultValue = "1") String pageNum,
                                  Model model){

        //TODO 可能因为支付异步回调没到达，订单状态没及时更新，用户看支付成功了，订单状态没改
        //TODO 查询订单时，如果订单状态为创建时，调用支付宝收单功能查询是否支付成功，如果支付成功则修改订单状态

        //查询当前登录用户的所有订单列表数据
        HashMap<String, Object> page = new HashMap<>();
        page.put("page",pageNum);
        R r = orderFeignService.listWithItem(page);
        model.addAttribute("orders",r);
        return "orderList";
    }
}
